#pragma once
#ifndef TestUses_h
#define TestUses_h

#if _DEBUG

#include <cppunit\extensions\HelperMacros.h>

//#include "Parent.h"
#include "../source/Uses.h"


Uses u1;
class UsesTest : public CPPUNIT_NS::TestFixture {

	CPPUNIT_TEST_SUITE(UsesTest);
	CPPUNIT_TEST(TestConstructor);
	//CPPUNIT_TEST(TestInsertUses);
	//CPPUNIT_TEST(TestInsertDupUses);
	//CPPUNIT_TEST(TestInsertSecond);
	//CPPUNIT_TEST(TestClearMap);
	CPPUNIT_TEST(TestInsertActualRelations);
	CPPUNIT_TEST(TestGetVariablesUsedByAssignment);
	CPPUNIT_TEST(TestGetContainerUsesVariable);
	CPPUNIT_TEST(TestGetAssignmentUses);
	CPPUNIT_TEST(TestGetVariablesUsedByContainer);
	CPPUNIT_TEST(TestGetProcedureUsesVariable);
	CPPUNIT_TEST(TestGetVariablesUsedByProcedure);
	CPPUNIT_TEST(TestGetStatementUses);
	CPPUNIT_TEST(TestGetContainerUses);
	CPPUNIT_TEST(TestGetProcedureUses);
	CPPUNIT_TEST_SUITE_END();

public:

	void SetUp();
	void TearDown();
	void TestConstructor();
	void TestInsertUses();
	void TestInsertDupUses();
	void TestInsertSecond();
	void TestClearMap();
	void TestInsertActualRelations();
	void TestGetVariablesUsedByAssignment();
	void TestGetContainerUsesVariable();
	void TestGetAssignmentUses();
	void TestGetVariablesUsedByContainer();
	void TestGetProcedureUsesVariable();
	void TestGetVariablesUsedByProcedure();
	void TestGetStatementUses();
	void TestGetContainerUses();
	void TestGetProcedureUses();


};
#endif

#endif